この記事で以前オススメしていた Invisible reCaptcha for WordPress は2023年1月時点で3年ほどメンテナンスされていないので使用しないことを推奨します。替わりに Contact Form 7 単体でreCAPTCHA を設定できるのでそちらを利用するように記事を修正しました。
先日、クライアントさんからこんな相談がありました。
ある日、メールを見ると何通も問い合わせメールが届いていて、喜んで見てみると全てスパムメール。
その後、毎日にように問い合わせフォームから迷惑メールが送られてくるようになって困っています。
何とかなりませんか…
これ、実は私にも経験があります。本当に困りますよね。この記事ではそういったスパムメールから問い合わせフォームを守る方法を説明します。
なぜ、このようなメールが来るのか?
世の中には、問い合わせフォームを探しだして片っ端から問合せメールを送るというプログラムが存在し、bot(ボット)と呼ばれることが多いです。目的はメールのリンクをクリックさせてウィルスに感染させたり個人情報を盗んだりすることです。
今回の件は、そういうプログラムに問い合わせフォームを発見されたことが原因です。
相手は機械なので疲れを知りません。放っておくと恐ろしい数のメールが送信されてしまいます。今回相談があった方は、あまりにメールを沢山送るのでレンタルサーバー会社から警告が来たそうです。
こういう事態になった場合、まずは問合せフォームのページを削除または非公開にしましょう。それでとりあえずはメールの送信は止まります。
しかし、このまま問合せができないと集客に致命的です。別のURLで問い合わせフォームを公開しても再び見つかってしまう可能性も高いです。
しかし、安心してください。その対策はいろいろあります。その代表的なものがreCAPTCHA です。
reCAPTCHAとは?
reCAPTCHA(リキャプチャ)というのは、フォームに入力した何者かが、人か機械かを見分ける仕組みのことです。
フォームを使った時に、画像にある歪んだ文字を読み取って入力したり、複数の写真の中から指定された写真を選んだりしたことはありませんか?それがreCAPTCHAです。
reCAPTCHAにはいろいろなタイプがあるのですが、Googleが提供しているreCAPTCHA V3は最も進化したもので、ユーザーに何もしてもらう必要はありません。ただ設定するだけでOKという優れものです。
さらにWordPressならプラグインを使うことで簡単に設定することが可能です。
WordPressにreCAPTCHA V3を設定する流れ
- Googleアカウントを持っている
- 問い合わせフォームにはContact Form 7 プラグインを使用
reCAPTCHA V3はGoogleが提供しているサービスなのでGoogleアカウントが必須です。もしまだ持っていない方はこの機会に作っておいてください。持っている方はあらかじめログインしておくとここからの作業をスムーズに行うことができます。
WordPressの問い合わせフォームプラグインはいろいろな種類がありますが、ここでは最もユーザー数が多いと思われるContactForm 7を使って設定していきます。もし他のプラグインを使用されている方は別途調べる必要があります。
- reCAPTCHAを使うためのキーを取得
- Contact Form 7 にキーを設定する
reCAPTCHA のキーを取得
reCAPTCHAでは使用するサイトを登録してサイトキーとシークレットキーという2つのキーを取得する必要があります。
まずは下記のサイトにアクセスしましょう。もしGoogleアカウントにログインしていない場合は、ログインしてからアクセスしてください。
https://www.google.com/recaptcha/admin/create
「新しいサイトを登録する」というページが表示されるので必要な項目を入力していきましょう。
下の図は入力例です。ドメインは同時に複数指定することができます。
必要な項目を入力したら「送信」をクリック。
そうすると、サイトキーとシークレットキーが表示されます。この2つのキーをコピーしておきましょう。
Contact Form 7 の設定
キーが取得できたらContact Form 7 に設定していきましょう。
まずはサイドバーのメニューの「お問い合わせ」の中にある「インテグレーション」というメニューを選択します。
そうすると「外部APIとのインテグレーション」というページが表示されるので、reCAPTCHAの設定まで下にスクロールします。
reCAPTCHA の設定が出てきたら、「インテグレーションをセットアップ」ボタンをクリックします。
そうすると「サイトキー」と「シークレットキー」を入力する画面がでてくるので、先ほど取得した各キーを入力して「変更を保存」をクリックすると設定完了です。
正常に設定されると下のような画面になります。
「reCAPTCHA はこのサイトで有効化されています。」と表示されればOKです。
この状態でサイトを表示すると右下に下図のようなバッジが表示されているはず。
以上で問い合わせフォームへの設定は完了です。これでもうスパムメールが届くことはなくなるはずです。人間と機械を誤判定しないかが少し心配ですが、全世界で多くのサイトに使われているのでよっぽど大丈夫だと思います。
バッジを表示したくない場合
これでスパム対策はOKなのですが、バッジが全ページに表示されてしまいます。パソコンなど大きな画面で見るときはあまり気になりませんが、小さい画面で見るときは結構邪魔になります。
以前オススメしてた Invisible reCaptcha for WordPress プラグインでは管理画面からバッジのレイアウトを変更できたのですが、Contact Form 7 にはそういう機能は無いので手作業で行う必要があります。
消す方法は色々考えられますが、reCAPTCHAのよくある質問ページに公式に非表示にす方法が書いてあるのでそれに従うのがベストだと思います。
問い合わせフォームの編集
問い合わせフォームのフォーム編集画面に書き文章を追加します。
This site is protected by reCAPTCHA and the Google
<a href="https://policies.google.com/privacy">Privacy Policy</a> and
<a href="https://policies.google.com/terms">Terms of Service</a> apply.
場所はどこでも良いと思いますが、フォームの一番最後に表示させると良いでしょう。例えば下記のような感じになります。
これだけだとテーマによってはレイアウトが崩れると思うので、適宜HTML要素やCSSで整える必要があるかもしれまえん。
CSSの編集
カスタマイザーの追加CSSにところに下記CSSを追記します。これでバッジが表示されなくなります。
.grecaptcha-badge { visibility: hidden; }
reCAPTCHAの働きっぷりを確認する
どれぐらいスパムをブロックしたかを知りたい場合、下記のreCAPTCHAの管理画面にアクセスすることで確認することができます。
https://www.google.com/recaptcha/admin/
また、右上の歯車アイコンをクリックするとシークレットキーを確認したり、対象となるドメインを変更することもできます。
いかがだったでしょう?簡単な作業で対策できるので迷惑メールが届く前にあらかじめ設定しておくことをオススメします。
ちなみにメールでの問合せはスパム以外に迷惑メールとなり届かないトラブルもよくあります。そのため、今ならメールよりLIENによる問合せに誘導するのがオススメです。
コメント
この記事へのコメントはありません。